﻿function matchTableCheckBox(headName, postfixChildName) {

    $('input[id$=' + headName + ']').click(function() {
        var numOfCheckBox = $('input[id$=' + postfixChildName + ']').length;
        var cInstance = $(this);
        $.map($('input[id$=' + postfixChildName + ']'), function(n, i) {
            $(n).attr('checked', $(cInstance).attr('checked'));
        })
    });

    $('input[id$=' + postfixChildName + ']').click(function() {
        var numOfCheckBox = $('input[id$=' + postfixChildName + ']').length;
        if (!$(this).attr('checked')) {
            $('input[id$=' + headName + ']').attr('checked', false);
        }
        else if (numOfCheckBox == $('input[id$=' + postfixChildName + ']:checked').length) {
            $('input[id$=' + headName + ']').attr('checked', true);
        }
    });

}